chore(deps): bump go-github v87 → v89 and resolve breaking changes#2840
Merged
Conversation
Bumps google/go-github from v87 to v89 across the module and fixes the resulting breaking changes. No tool or behavior changes. - Rewrite all import paths go-github/v87 -> go-github/v89. - gists.go: Gists.Create now takes CreateGistRequest by value and Gists.Edit is renamed to Gists.Update taking UpdateGistRequest. - repositories_test.go: adapt to RepositoryRelease fields that became value types in v89 (ID, TagName, Draft). - Regenerate third-party license files for the new module path. Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
6 tasks
Contributor
There was a problem hiding this comment.
Pull request overview
This PR updates the module dependency on github.com/google/go-github from v87 to v89 and applies the required mechanical code/test updates across the server to keep the GitHub MCP tools compiling and behaving consistently, along with regenerating third-party license attributions.
Changes:
- Bump
github.com/google/go-github/v87→github.com/google/go-github/v89and rewrite imports across the codebase. - Update gist create/update code paths for go-github v89 API changes (
CreateGistRequest,UpdateGistRequest,Gists.Update). - Adjust repository release-related tests for go-github v89 struct field type changes and refresh third-party license outputs.
Show a summary per file
| File | Description |
|---|---|
third-party/github.com/google/go-github/v89/github/LICENSE |
Add BSD-3-Clause license text for the new go-github/v89 third-party path. |
third-party-licenses.windows.md |
Regenerate dependency list to reference go-github/v89. |
third-party-licenses.linux.md |
Regenerate dependency list to reference go-github/v89. |
third-party-licenses.darwin.md |
Regenerate dependency list to reference go-github/v89. |
pkg/raw/raw.go |
Update go-github import path to v89. |
pkg/raw/raw_test.go |
Update go-github import path to v89 in tests. |
pkg/lockdown/lockdown.go |
Update go-github import path to v89. |
pkg/lockdown/lockdown_test.go |
Update go-github import path to v89 in tests. |
pkg/github/ui_tools.go |
Update go-github import path to v89. |
pkg/github/ui_tools_test.go |
Update go-github import path to v89 in tests. |
pkg/github/tools.go |
Update go-github import path to v89. |
pkg/github/server_test.go |
Update go-github import path to v89 in tests. |
pkg/github/security_advisories.go |
Update go-github import path to v89. |
pkg/github/security_advisories_test.go |
Update go-github import path to v89 in tests. |
pkg/github/secret_scanning.go |
Update go-github import path to v89. |
pkg/github/secret_scanning_test.go |
Update go-github import path to v89 in tests. |
pkg/github/search.go |
Update go-github import path to v89. |
pkg/github/search_utils.go |
Update go-github import path to v89. |
pkg/github/search_test.go |
Update go-github import path to v89 in tests. |
pkg/github/repository_resource.go |
Update go-github import path to v89. |
pkg/github/repository_resource_completions.go |
Update go-github import path to v89. |
pkg/github/repository_resource_completions_test.go |
Update go-github import path to v89 in tests. |
pkg/github/repositories.go |
Update go-github import path to v89. |
pkg/github/repositories_test.go |
Update release test fixtures/assertions for v89 RepositoryRelease field type changes. |
pkg/github/repositories_helper.go |
Update go-github import path to v89. |
pkg/github/pullrequests.go |
Update go-github import path to v89. |
pkg/github/pullrequests_test.go |
Update go-github import path to v89 in tests. |
pkg/github/pullrequests_granular.go |
Update go-github import path to v89. |
pkg/github/projects.go |
Update go-github import path to v89. |
pkg/github/params.go |
Update go-github import path to v89. |
pkg/github/params_test.go |
Update go-github import path to v89 in tests. |
pkg/github/notifications.go |
Update go-github import path to v89. |
pkg/github/notifications_test.go |
Update go-github import path to v89 in tests. |
pkg/github/minimal_types.go |
Update go-github import path to v89. |
pkg/github/issues.go |
Update go-github import path to v89. |
pkg/github/issues_test.go |
Update go-github import path to v89 in tests. |
pkg/github/issues_granular.go |
Update go-github import path to v89. |
pkg/github/issues_delete_test.go |
Update go-github import path to v89 in tests. |
pkg/github/ifc_labels.go |
Update go-github import path to v89. |
pkg/github/helper_test.go |
Update go-github import path to v89 in tests. |
pkg/github/granular_tools_test.go |
Update go-github import path to v89 in tests. |
pkg/github/git.go |
Update go-github import path to v89. |
pkg/github/git_test.go |
Update go-github import path to v89 in tests. |
pkg/github/gists.go |
Adapt gist create/update tool implementation for go-github v89 request types and method rename (Edit → Update). |
pkg/github/gists_test.go |
Update go-github import path to v89 in tests. |
pkg/github/discussions.go |
Update go-github import path to v89. |
pkg/github/discussions_test.go |
Update go-github import path to v89 in tests. |
pkg/github/dependencies.go |
Update go-github import path to v89. |
pkg/github/dependabot.go |
Update go-github import path to v89. |
pkg/github/dependabot_test.go |
Update go-github import path to v89 in tests. |
pkg/github/copilot.go |
Update go-github import path to v89. |
pkg/github/copilot_test.go |
Update go-github import path to v89 in tests. |
pkg/github/context_tools_test.go |
Update go-github import path to v89 in tests. |
pkg/github/code_scanning.go |
Update go-github import path to v89. |
pkg/github/code_scanning_test.go |
Update go-github import path to v89 in tests. |
pkg/github/code_quality_test.go |
Update go-github import path to v89 in tests. |
pkg/github/actions.go |
Update go-github import path to v89. |
pkg/github/actions_test.go |
Update go-github import path to v89 in tests. |
pkg/errors/error.go |
Update go-github import path to v89. |
pkg/errors/error_test.go |
Update go-github import path to v89 in tests. |
internal/ghmcp/server.go |
Update go-github import path to v89. |
go.mod |
Bump github.com/google/go-github/v87 → github.com/google/go-github/v89. |
go.sum |
Update module checksums for go-github/v89. |
e2e/e2e_test.go |
Update go-github import path to v89 in e2e tests. |
Review details
- Files reviewed: 62/64 changed files
- Comments generated: 1
- Review effort level: Low
update_gist always sent Description as a pointer to the OptionalParam
zero value (""), so omitting description would overwrite an existing gist
description with an empty string. Only set UpdateGistRequest.Description
when the caller actually provided the argument; an explicit empty string
still clears it. Adds a test asserting the description key is absent from
the PATCH body when omitted and present when set.
This addresses a pre-existing behavior surfaced while migrating to the
v89 gist request types.
Co-authored-by: Copilot App <223556219+Copilot@users.noreply.github.com>
omgitsads
approved these changes
Jul 8, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Bumps
google/go-githubfrom v87 to v89 across the module and resolves the resulting breaking changes.Why
go-github v89 adds first-class REST methods for issue dependencies. This PR is the mechanical dependency bump that unblocks that work; the feature itself lands in a stacked follow-up PR (#2839). Splitting keeps the ~60-file mechanical import churn separate from the substantive feature diff.
What changed
go-github/v87→go-github/v89.gists.go:Gists.Createnow takesCreateGistRequestby value, andGists.Editis renamed toGists.UpdatetakingUpdateGistRequest.gists.go: while migratingupdate_gisttoUpdateGistRequest, fix a pre-existing bug surfaced in review — omittingdescriptionsent"description": ""and wiped the gist's existing description.Descriptionis now only set when the caller provides it; an explicit empty string still clears it. Added a test asserting the PATCH body omitsdescriptionwhen not supplied.repositories_test.go: adapt toRepositoryReleasefields that became value types in v89 (ID,TagName,Draft).MCP impact
update_gistno longer overwrites an existing gist description with an empty string whendescriptionis omitted. No schema changes; all other tools are unaffected by the bump.Prompts tested (tool changes only)
<id>: change filex.txtto…" (without a description) → the gist's existing description is preserved.<id>: set the description to…" → description is updated.Security / limits
Tool renaming
Lint & tests
./script/lint./script/testDocs